Ok(())
}
- pub fn add_sources(&mut self, ids: Vec<SourceId>) -> CargoResult<()> {
- for id in dedup(ids).iter() {
+ pub fn add_sources(&mut self, ids: &[SourceId]) -> CargoResult<()> {
+ for id in ids.iter() {
try!(self.load(id, false));
}
Ok(())
}
}
-fn dedup(ids: Vec<SourceId>) -> Vec<SourceId> {
- let mut seen = vec!();
-
- for id in ids.into_iter() {
- if seen.contains(&id) { continue; }
- seen.push(id);
- }
-
- seen
-}
-
impl<'a> Registry for PackageRegistry<'a> {
fn query(&mut self, dep: &Dependency) -> CargoResult<Vec<Summary>> {
let overrides = try!(self.query_overrides(dep));
Some(ref r) => r.iter().map(|p| p.get_source_id().clone()).collect(),
None => vec![package.get_package_id().get_source_id().clone()],
};
- try!(registry.add_sources(sources));
+ try!(registry.add_sources(sources.as_slice()));
let mut resolved = try!(resolver::resolve(package.get_summary(),
resolver::ResolveEverything,
}
None => {}
}
- try!(registry.add_sources(sources));
+ try!(registry.add_sources(sources.as_slice()));
let mut resolve = try!(resolver::resolve(package.get_summary(),
resolver::ResolveEverything,